Concurrency in Microprotocol Frameworks
نویسندگان
چکیده
Protocol stacks and other distributed applications have been structured as a set of collaborating components with more or less well-defined interfaces. Recent frameworks provide flexible interfaces, arrangements and communication patterns, and thus allow for finer-grained components, called microprotocols. Multi-threaded programming is the key to high performance in these frameworks. This paper investigates what support for multi-threaded programming such frameworks provide and should provide for programmers. Along with a survey and detailed discussions of the features of existing frameworks, we propose features that can be offered without significant changes in programs, and that have a negligible performance impact. This includes the following: (1) sets of single-threaded microprotocols that coexist with multi-threaded microprotocols, thus taking the best of two worlds; (2) non-overlapping execution of microprotocols involved in a chain of asynchronous communication, to avoid inconsistencies; and (3) ordering guarantees for asynchronous communication among microprotocols. To our knowledge, our definition for a particular extension of causal order is the simplest so far.
منابع مشابه
Composition de protocoles répartis dans l'environnement NekoLS
It is common practice to design distributed protocols as a set of interacting components with well-defined interfaces. Recent research frameworks introduce microprotocols, finer-grained components than layers in traditional protocol stacks, interconnected in a flexible manner. Each framework offers a different set of protocol composition features. In this paper, we present a synthesis of these ...
متن کاملPosition Paper: Static Debugging of Programs Using High-Level Concurrency Libraries
High-level concurrency libraries, such as MapReduce and frameworks for fork/join parallelism, are promising tools to make parallelism available to the application developer. Optimizations and intrinsics provided by mainstream VM platforms, as well as programming languages supporting powerful means of abstraction greatly improve the performance and use of such frameworks. However, debugging prog...
متن کاملConcurrent Web-Programming in CLP(WEB)
Recent research has placed emphasis on the need for support for concurrency in the context of programming for the World-Wide Web (W3). Frameworks like WebL, LogicWeb, and Jinny make concurrency a key component of their W3 support. In this work we analyze the concurrent capabilities of CLP(WEB), a W3-oriented logic-based concurrent framework. CLP(WEB) offers two forms of concurrency, or-concurre...
متن کاملA Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملSelf-tuning the parallelism degree in Parallel-Nested Transactional Memory
In this document we present an overview of Transactional Memory models, as well as a comparison to traditional parallel frameworks. In this context, we follow with an analysis on the problem of self-tuning concurrency control in transactional memory, where different mechanisms are used to predict and adjust an application’s concurrency level with respect to available parallelism. We are particu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006